package com.lagou.service;

import com.lagou.bena.Admin;
import com.lagou.bena.Student;
import com.lagou.dao.AdminDao;
import com.lagou.factory.AdminDaoFactory;

import java.sql.SQLException;
import java.util.List;

public class AdminServiceImp implements AdminService {

    private AdminDao adminDao;

    public AdminServiceImp() {
        this.adminDao = AdminDaoFactory.getAdminDao();
    }

    /**
     * 自定义成员方法，调用DAO层登录方法实现登录功能
     * @param userName
     * @param userPass
     * @return
     */
    @Override
    public Admin AdminLoginService(String userName, String userPass) {
        return adminDao.AdminLogin(userName, userPass);
    }

    /**
     * 自定义成员方法，调用DAO层查询方法实现所有学生信息的查询
     * @return
     */
    @Override
    public List<Student> showAllService() {
        return adminDao.showAll();
    }

    /**
     * 自定义成员方法，调用DAO层的添加方法实现学生信息的添加
     * @param student
     * @return
     */
    @Override
    public int addStuService(Student student) {
        return adminDao.addStu(student);
    }

    /**
     * 自定义成员方法，调用DAO层的条件查询实现学生信息的检索
     * @param student
     * @return
     */
    @Override
    public List<Student> queryStuService(Student student) throws SQLException {
        return adminDao.queryStu(student);
    }

    /**
     * 自定义成员方法，调用DAO层通过学号查找学生信息
     * @param id
     * @return
     */
    @Override
    public Student findByIdService(Integer id) {
        return adminDao.findById(id);
    }

    /**
     * 自定义成员方法，调用DAO层修改学生信息
     * @param student
     * @return
     */
    @Override
    public int updateStuService(Student student) {
        return adminDao.updateStu(student);
    }

    /**
     * 自定义成员方法，实现学生信息的删除
     * @param id
     * @return
     */
    @Override
    public int deleteStuService(Integer id) {
        return adminDao.deleteStu(id);
    }
}
